//
//  TwoSum.swift
//  LLTryFightingApp
//
//  Created by jinbang.li on 2024/9/28.
//

import Foundation

/**
 LeetCode 第一题
 给定一个整数数组nums和一个整数目标值target,请找出在数组和为目标值的那两个整数，
 并返回他们的数组的下标
 1 2 3
 
 0:1
 1:2
 2:3
 
 */

struct LLLeetCode {
    static func twoSum(_ nums:[Int], _ target:Int) -> [Int] {
        var hashMap:[Int:Int] = [:]
        for (i,value) in nums.enumerated() {
            let sub = target - value
            if let j = hashMap[sub] {
                return [i,j]
            }
            hashMap[value] = i
        }
        fatalError("no two sum solution")
    }
}
